;; 导入 chickend 标准库的 io 和 irregex 包
(import
  (chicken irregex)
  (chicken io)
)

;; 将 line 中 re 匹配的内容替换成 replace。
;;
;; (irregex-replace/all REGEX TEXT REPLACE)
(define (replace-line line re replace)
  (irregex-replace/all re line replace)
)

;; 将标准输入读取的每一行用处理，输出写到标准输出。
;;
;; (read-line) ; 从标准输入读取一行，如果没有数据可以读取，返回 EOF。
;; (eof-object? X) ; 判断 X 是否是 EOF。
;; (newline)
;; (not X)
;; (define (FUNX ARGS...) BODY)
;; (if COND THEN)
;; (begin EXPS...)
(define (quickrep re replace) 
  (let (
    (line (read-line))
  )

  (if (not (eof-object? line))
    (begin
      (display (replace-line line re replace))
      (newline)
      (quickrep re replace)
    )
  )

  ) ;; let
) ;; define

(define (main args)
  (quickrep
    (irregex (car args))
    (cadr args)
  )
) ;; define
